#define _CRT_SECURE_NO_WARNINGS 1

#include"SList.h"


//int RemoveElement(int* nums, int numssize, int value)
//{
//	int src = 0;
//	int dst = 0;
//	while (src != numssize)
//	{
//		if (nums[src] == value)
//		{
//			src++;
//		}
//		else
//		{
//			nums[dst++] = nums[src++];
//		}
//	}
//	return dst;
//
//
//}
//int main()
//{
//	int arr[5] = { 2,1,5,1,1 };
//	RemoveElement(arr, 5, 5);
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d", arr[i]);
//	}
//	return 0;
//}
//void Merge(int* nums1, int nums1ssize,int m, int* nums2,int nums2size, int n)
//{
//	int L1 = n - 1;
//	int L2 = m - 1;
//	int L3 = nums1ssize - 1;
//	while (L1 >= 0 && L2 >= 0)
//	{
//		if (nums1[L2] > nums2[L1])
//		{
//			nums1[L3--] = nums1[L2--];
//		}
//		else
//		{
//			nums1[L3--] = nums2[L1--];
//		}
//	}
//	while (L1 >= 0)
//	{
//		nums1[L3--] == nums1[L1--];
//	}
//
//
//}
void SLText01()
{
	SLNode* node1 = (SLNode*)malloc(sizeof(SLNode));
	node1->data = 1;
	SLNode* node2 = (SLNode*)malloc(sizeof(SLNode));
	node2->data = 2;
	SLNode* node3 = (SLNode*)malloc(sizeof(SLNode));
	node3->data = 3;
	SLNode* node4 = (SLNode*)malloc(sizeof(SLNode));
	node4->data = 4;
	node1->next = node2;
	node2->next = node3;
	node3->next = node4;
	node4->next = NULL;
	SLNode* plist = node1;
	SLPrint(plist);



}
void SLText02()
{
	SLNode* plist = NULL;
	SLPushBack(&plist, 1);
	SLPushBack(&plist, 2);
	SLPushBack(&plist, 3);
	SLPushBack(&plist, 4);
	SLPushBack(&plist, 5);

	SLPopFront(&plist);
	SLPrint(plist);
	SLNode* find = SLFind(plist, 2);
	if (find == NULL)
	{
		printf("NO\n");
	}
	else
	{
		printf("YES\n");
	}
	SLErase(&plist, find);
	SLPrint(plist);
	SLNode* find2 = SLFind(plist,4 );
	SLEraseAfter(find2);
	SLPrint(plist);

	SLDestroy(&plist);
}
int main()
{
	//SLText01();
	SLText02();
	return 0;
}